home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 1996 September / Software of the Month Club 1996 September.iso / mac / Software Research Institute-SRI / Business / Alpha ƒ / Tcl / SystemCode / modeDefs.tcl < prev    next >
Encoding:
Text File  |  1996-01-05  |  6.8 KB  |  178 lines  |  [TEXT/ALFA]

  1.  
  2. #===============================================================================
  3. lappend modes C
  4. set dummyProc(C)                dummyC
  5. lappend modeSuffixes             {*.h} { set winMode C }
  6. lappend modeSuffixes            {*.c} { set winMode C }
  7. lappend modeSuffixes            {*.r} { set winMode C }
  8. set modeMenus(C)                 { thinkMenu cwarriorMenu thinkRefMenu toolboxRefMenu}
  9.  
  10. #================================================================================
  11. lappend modes C++
  12. set dummyProc(C++)                dummyC++
  13. lappend modeSuffixes             {*.H} { set winMode C++ }
  14. lappend modeSuffixes            {*.cc} { set winMode C++ }
  15. lappend modeSuffixes            {*.cp} { set winMode C++ }
  16. lappend modeSuffixes            {*.cpp} { set winMode C++ }
  17. lappend modeSuffixes            {*.CPP} { set winMode C++ }
  18. lappend modeSuffixes            {*.C} { set winMode C++ }
  19. set modeMenus(C++)                 { thinkMenu cwarriorMenu thinkRefMenu toolboxRefMenu}
  20.  
  21. #===============================================================================
  22. # PL/SQL mode by Joel D. Elkins
  23. lappend modes SQL
  24. set modeMenus(SQL)                        { }
  25. set dummyProc(SQL)                        dummySQL
  26. lappend modeSuffixes                    {*.sql} { set winMode SQL }
  27. lappend modeSuffixes                    {*.SQL} { set winMode SQL }
  28. lappend modeSuffixes                    {*.pkg}    { set winMode SQL }
  29.  
  30. #================================================================================
  31. lappend modes Shel
  32. set dummyProc(Shel)                dummyShel
  33. set modeMenus(Shel)             { tclMenu }
  34. lappend modeSuffixes            {*tcl\ sh*} {set winMode Shel}
  35. newModeVar Shel wordBreak {(\$)?[a-zA-Z0-9_.]+} 0
  36. newModeVar Shel wordWrap {0} 1
  37. newModeVar Shel wordBreakPreface {[^a-zA-Z0-9_\$]} 0
  38. newModeVar Shel autoMark    0    1
  39. regModeKeywords -m {╟} Shel {}
  40.  
  41. #===============================================================================
  42. #    AppleScript mode
  43. lappend modes Scrp
  44. set dummyProc(Scrp)                dummyScrp
  45. lappend modeSuffixes             {*.script} { set winMode Scrp }
  46. set modeMenus(Scrp)             { }
  47.  
  48.  
  49. #================================================================================
  50. lappend modes PS
  51. lappend modeSuffixes            {*.ps} { set winMode PS }
  52. newModeVar PS prefixString {% } 0 
  53. set PSKeyWords {
  54.     def begin end dict load
  55.     exec if ifelse for repeat loop exit stop stopped countexecstack execstack quit start
  56.     gsave grestore grestoreall initgraphics 
  57.     newpath erasepage fill eofill stroke image imagemask showpage copypage
  58. }
  59. if {[info exists PSwords]} {set PSKeyWords [concat $PSKeyWords $PSwords]}
  60. regModeKeywords -e {%} -m {/}  -c red -k blue PS $PSKeyWords -i "\}" -i "\{" -i {[} -i {]} -I green
  61. unset PSKeyWords
  62.  
  63. #================================================================================
  64. lappend modes Fort
  65. lappend modeSuffixes            {*.f} { set winMode Fort }
  66. lappend modeSuffixes            {*.inc} { set winMode Fort }
  67. lappend modeSuffixes            {*.INC} { set winMode Fort }
  68. lappend modeSuffixes            {*.fcm} { set winMode Fort }
  69. lappend modeSuffixes            {*.for} { set winMode Fort }
  70. lappend modeSuffixes            {*.FOR} { set winMode Fort }
  71. lappend modeSuffixes             {*.f9}    { set winMode Fort }
  72. lappend modeSuffixes            {*.f90}    { set winMode Fort }
  73. lappend modeSuffixes            {*.hpf}    { set winMode Fort }
  74. set dummyProc(Fort)                dummyFort
  75. set modeMenus(Fort)             { }
  76.  
  77. #================================================================================
  78. lappend modes Pasc
  79. lappend modeSuffixes             {*.p} { set winMode Pasc }
  80. set dummyProc(Pasc)                dummyPascal
  81. set modeMenus(Pasc)                { thinkRefMenu toolboxRefMenu}
  82.  
  83. #=============================================================================
  84. lappend modes Tcl
  85. set dummyProc(Tcl)                dummyTcl
  86. lappend modeSuffixes            {*.tcl} { set winMode Tcl }
  87. set modeMenus(Tcl)                 { tclMenu }
  88.  
  89. #================================================================================
  90. lappend modes MPW
  91. set modeMenus(MPW)                 { }
  92. lappend modeSuffixes            {*Toolserver\ *} { set winMode MPW }
  93.  
  94. #================================================================================
  95. lappend modes Brws
  96. set modeMenus(Brws)             { }
  97. set dummyProc(Brws)                dummyBrws
  98. #===============================================================================
  99. lappend modes Mail
  100. set dummyProc(Mail)                dummyMail
  101. set modeMenus(Mail)             {  }
  102. newModeVar Mail wordBreak {(\$)?[a-zA-Z0-9_.]+} 0
  103. newModeVar Mail wordWrap {0} 1
  104. newModeVar Mail wordBreakPreface {[^a-zA-Z0-9_\$]} 0
  105. newModeVar Mail autoMark    0    1
  106. set mailKeywords {{Subject:} {To:} {From:} {Cc:} {Sender:}}
  107. regModeKeywords -k blue -e {>} Mail $mailKeywords
  108. #================================================================================
  109. lappend modes Diff
  110. set modeMenus(Diff)             { }
  111. #================================================================================
  112. lappend modes Ada
  113. set dummyProc(Ada)                dummyAda
  114. set modeMenus(Ada)                 { }
  115. lappend modeSuffixes             {*.ada} { set winMode Ada }
  116. lappend modeSuffixes            {*.ads} { set winMode Ada }
  117. lappend modeSuffixes            {*.adb} { set winMode Ada }
  118. lappend modeSuffixes            {*.ADS} { set winMode Ada }
  119. lappend modeSuffixes            {*.ADB} { set winMode Ada }
  120. lappend modeSuffixes            {*_.a} { set winMode Ada }
  121. lappend modeSuffixes            {*.a} { set winMode Ada }
  122. # only for my GNAT specific files
  123. lappend modeSuffixes            {*.gnat} { set winMode Ada }
  124. newModeVar Ada elecRBrace {1} 1
  125. newModeVar Ada leftFillColumn {3} 0
  126. newModeVar Ada prefixString {-- } 0 
  127. newModeVar Ada electricSemi {1} 1
  128. newModeVar Ada wordBreak {[a-zA-Z0-9_]+} 0
  129. newModeVar Ada elecLBrace {1} 1
  130. newModeVar Ada wordWrap {0} 1
  131. newModeVar Ada funcExpr {^[ \t]*(procedure|function)[ \t]+([A-Za-z][A-Za-z0-9_]*)} 0
  132. newModeVar Ada wordBreakPreface {} 0
  133. newModeVar Ada electricTab {0} 1
  134.  
  135. # Don't get used!
  136. #set adaCommentRegexp    {/\*(([^*]/)|[^*]|\r)*\*/}
  137. #set adaPreRegexp        {^\#[\t ]*[a-z]*}
  138. set adaKeyWords        {
  139.     abort abs accept access all and array at begin body case constant
  140.     declare delay delta digits do else elsif end entry exception exit
  141.     for function generic goto others if in is limited loop mod new not
  142.     null of or subtype out package pragma private procedure raise range
  143.     record rem renames return reverse select separate task terminate
  144.     then type use when while with xor = /=  := > < abstract aliased 
  145.     protected requeue tagged until
  146.     }
  147. regModeKeywords -e {--} -c magenta -k blue Ada $adaKeyWords -i ")" -i "(" -i ":" -i ";" -i "," -i "." -I blue
  148.  
  149. proc dummyAda {} {}
  150.  
  151. proc AdaMarkFile {} {
  152.     global AdamodeVars
  153.     set pos 0
  154.     
  155.     while {![catch {search -s -f 1 -r 1 -m 0 -i 1 $AdamodeVars(funcExpr) $pos} res]} {
  156.         set start [lindex $res 0]
  157.         set end [expr [lindex $res 1] + 1]
  158.         set text [getText $start $end]
  159.         if {[regexp {(procedure|function)[ \t]+} $text dummy word]} {
  160.             set tmp $word
  161.             set start [expr $start + [string first $word $text] + [string length $word]]
  162.             set text [getText $start $end]
  163.  
  164.         }
  165.         if {[regexp {([a-zA-Z0-9:_]+)} $text dummy word]} {
  166.             set tmp [expr $start + [string first $word $text]]
  167.             set inds($word) "$tmp [expr $tmp + [string length $word]]"
  168.         }
  169.         set pos $end
  170.     }
  171.     if {[info exists inds]} {
  172.         foreach f [lsort -ignore [array names inds]] {
  173.             set res $inds($f)
  174.             setNamedMark $f [lineStart [lindex $res 0]] [lindex $res 0] [lindex $res 1]
  175.         }
  176.     }
  177. }
  178.